package com.xiaozhi.libraryfunction.domain;

import com.xiaozhi.common.annotation.Excel;
import com.xiaozhi.common.annotation.Excel.ColumnType;
import com.xiaozhi.common.core.domain.BaseEntity;

import java.io.Serializable;
import java.util.Date;

/**
 * 图书书籍表 library_book
 *
 * @author xiaozhi
 */
public class LibraryBook extends BaseEntity implements Serializable
{
    private static final long serialVersionUID = 1L;

    /** 书籍ID */
    @Excel(name = "书籍序号", cellType = ColumnType.NUMERIC)
    private Long bookId;

    /** 书籍名称 */
    @Excel(name = "书籍名称")
    private String name;

    /** 书籍作者 */
    @Excel(name = "书籍作者")
    private String author;

    /** 书籍出版社 */
    @Excel(name = "书籍出版社")
    private String publish;

    /** 书籍编号 */
    @Excel(name = "书籍编号")
    private String isbn;

    /** 书籍简介 */
    @Excel(name = "书籍简介")
    private String introduction;

    /** 书籍语言 */
    @Excel(name = "书籍语言")
    private String language;

    /** 书籍价格 */
    @Excel(name = "书籍价格")
    private Double price;

    /** 书籍出版日期 */
    @Excel(name = "书籍出版日期")
    private Date publishDate;

    /** 书籍类型 */
    @Excel(name = "书籍类型")
    private Long typeId;

    /** 书籍数量 */
    @Excel(name = "书籍数量")
    private Long count;

    /** 书籍创建时间 */
    @Excel(name = "创建时间")
    private Date createTime;

    /** 书籍修改时间 */
    @Excel(name = "修改时间")
    private Date updateTime;

    private LibraryType libraryType;

    public LibraryBook(Long bookId, String name, String author, String publish, String isbn, String introduction, String language, Double price, Date publishDate, Long typeId, Long count, Date createTime, Date updateTime) {
        this.bookId = bookId;
        this.name = name;
        this.author = author;
        this.publish = publish;
        this.isbn = isbn;
        this.introduction = introduction;
        this.language = language;
        this.price = price;
        this.publishDate = publishDate;
        this.typeId = typeId;
        this.count = count;
        this.createTime = createTime;
        this.updateTime = updateTime;
    }

    public LibraryBook() {
    }

    public static long getSerialVersionUID() {
        return serialVersionUID;
    }

    public Long getBookId() {
        return bookId;
    }

    public void setBookId(Long bookId) {
        this.bookId = bookId;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getAuthor() {
        return author;
    }

    public void setAuthor(String author) {
        this.author = author;
    }

    public String getPublish() {
        return publish;
    }

    public void setPublish(String publish) {
        this.publish = publish;
    }

    public String getIsbn() {
        return isbn;
    }

    public void setIsbn(String isbn) {
        this.isbn = isbn;
    }

    public String getIntroduction() {
        return introduction;
    }

    public void setIntroduction(String introduction) {
        this.introduction = introduction;
    }

    public String getLanguage() {
        return language;
    }

    public void setLanguage(String language) {
        this.language = language;
    }

    public Double getPrice() {
        return price;
    }

    public void setPrice(Double price) {
        this.price = price;
    }

    public Date getPublishDate() {
        return publishDate;
    }

    public void setPublishDate(Date publishDate) {
        this.publishDate = publishDate;
    }

    public Long getTypeId() {
        return typeId;
    }

    public void setTypeId(Long typeId) {
        this.typeId = typeId;
    }

    public Long getCount() {
        return count;
    }

    public void setCount(Long count) {
        this.count = count;
    }

    @Override
    public Date getCreateTime() {
        return createTime;
    }

    @Override
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    @Override
    public Date getUpdateTime() {
        return updateTime;
    }

    @Override
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public LibraryType getLibraryType() {
        return libraryType;
    }

    public void setLibraryType(LibraryType libraryType) {
        this.libraryType = libraryType;
    }
}
